package com.yc.cloud.admin.dto.request;

import com.yc.cloud.common.basic.dto.BasePageReqDTO;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.EqualsAndHashCode;

/**
 * 监视点查询请求DTO
 *
 * @author Claude Code
 * @since 2025-09-29
 */
@Data
@EqualsAndHashCode(callSuper = true)
@Schema(description = "监视点查询请求参数")
public class HwMonitoringPointQueryReqDTO extends BasePageReqDTO {

    @Schema(description = "监视点名称（模糊查询）", requiredMode = Schema.RequiredMode.NOT_REQUIRED)
    private String name;

    @Schema(description = "监视点编码（模糊查询）", requiredMode = Schema.RequiredMode.NOT_REQUIRED)
    private String code;

    @Schema(description = "所属区域ID", requiredMode = Schema.RequiredMode.NOT_REQUIRED)
    private Long regionId;

    @Schema(description = "监视点类型：1-重点区域, 2-一般区域, 3-出入口, 4-边界线", requiredMode = Schema.RequiredMode.NOT_REQUIRED)
    private Integer pointType;

    @Schema(description = "重要程度：1-高, 2-中, 3-低", requiredMode = Schema.RequiredMode.NOT_REQUIRED)
    private Integer importanceLevel;

    @Schema(description = "状态：1-启用, 0-禁用", requiredMode = Schema.RequiredMode.NOT_REQUIRED)
    private Integer status;

    @Schema(description = "是否包含子区域监视点", requiredMode = Schema.RequiredMode.NOT_REQUIRED)
    private Boolean includeChildren = false;
}